#ifndef ANTPOLICY_H
#define ANTPOLICY_H

#include "Task.h"
#include "Target.h"

class State;

class AntPolicy
{
    public:
        AntPolicy(State* state) : state(state){}
        virtual ~AntPolicy(){}

        virtual void operator()(const Target::AntVector::value_type& ant) = 0;
        void Find(const Target::AntVector::value_type& ant){}
        void assign(const Ant& ant, const WeightTask& task);
    protected:
        State* state;
};


#endif // ANTPOLICY_H
